﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using CommunitySystemModel;

namespace CommunitySystem.Web.Service
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码和配置文件中的接口名“IZhaoLuService”。
    [ServiceContract]
    public interface IZhaoLuService
    {
        [OperationContract]
        ObservableCollection<ZhaoLuZhiWeiModel> GetZhaoLuZhiWei(string OrgID, int ID, int start, int end, int status,
                                                                int year, string islocked);
        [OperationContract]
        bool DeteleZhaoLuZhiWei(string ID);
        [OperationContract]
        bool SaveZhaoLuZhiWei(string ID);
        [OperationContract]
        string ChaKanShiFouDouShenHeZhaoLuZhiWei(string OrgID, int year, string islocked);
        [OperationContract]
        int GetZhaoLuZhiWeiCount(string OrgID, int ID, int status, int year, string islocked);
        [OperationContract]
        bool CheckZhaoLuZhiWei(string ID);
        [OperationContract]
        bool TuiZhaoLuZhiWei(string ID, string memo);
        [OperationContract]
        bool FaBuZhaoLuZhiWei(string ID);
        [OperationContract]
        bool CancelZhaoLuZhiWei(string ID);
         [OperationContract]
        bool AddZhaoLuZhiWei(ZhaoLuZhiWeiModel item);
         [OperationContract]
        bool UpdateZhaoLuZhiWei(ZhaoLuZhiWeiModel item);
        [OperationContract]
        bool SuoZhaoLuZhiWei();
        [OperationContract]
        ObservableCollection<ZhaoLuJiHuaModel> GetZhaoLuJiHuaModel(int year, string islocked);
        [OperationContract]
        ObservableCollection<ZhaoLuJiHuaDetailModel> GetZhaoLuJiHuaDetailModel(int id, int year);
        [OperationContract]
        ObservableCollection<ZhaoLuJiHuaDetail1Model> GetZhaoLuJiHuaDetail1Model(int id, int year);
        [OperationContract]
        bool InsertZhaoLuJiHua(int ZhaoLuJiHuaID, ZhaoLuJiHuaDetailModel ZhaoLuJiHuaDetail,
                               ObservableCollection<ZhaoLuJiHuaDetail1Model> ZhaoLuJiHuaDetail1);
        [OperationContract]
        int InsertZhaoLuJiHuaTitle(ZhaoLuJiHuaModel ZhaoLuJiHua);
        [OperationContract]
        bool DeleteZhaoLuJiHua(int id);
        [OperationContract]
        FileTransferStream GetExcelFile(ZhaoLuJiHuaDetailModel model,
                                        ObservableCollection<ZhaoLuJiHuaDetail1Model> models, string username);
        [OperationContract]
        bool CanDaoRuAll(int year, int month);
        [OperationContract]
        bool ShanChongFu(int year, int month);
        [OperationContract]
        bool DaoRuZhaoLuKaoSheng(ZhaoLu_DaoRuKaoShengModel model);
        [OperationContract]
        ObservableCollection<ZhaoLu_DaoRuKaoShengModel> GetZhaoLu_DaoRuKaoShengModel(int year, bool isfangqi, int month,int id);
        [OperationContract]
        Dictionary<int, int> GetZL_MianShiRenShu(int PublicOfficialSelectionID, int year);
        [OperationContract]
        ObservableCollection<ZL_ZhiWeiShiJianAnPaiModel> ZL_PublicOfficialSelectionForAnPai(int year);
        [OperationContract]
        ObservableCollection<ZL_ZhiWeiShiJianAnPaiModel> ZL_PublicOfficialSelectionForAnPaiSuoDing(int year);
         [OperationContract]
        ObservableCollection<ZhaoLuZhiWeiModel> ZL_GetPublicOfficialSelectionForDaoChu(int year, string islocked);
        [OperationContract]
         bool ZL_InsertZu(ZL_ZhiWeiShiJianAnPaiModel model, string type);
        [OperationContract]
        bool QiQuan(string ID, string huanjie);
        [OperationContract]
        bool UpdateZL_MianShiFenShu(ZhaoLu_DaoRuKaoShengModel model);
        [OperationContract]
        bool NiTongYiorNot_ZL(List<int> PublicOfficialRecordID, string istongyi);
        [OperationContract]
        bool UpdateZL_TiJian(ZhaoLu_DaoRuKaoShengModel model);
        [OperationContract]
        bool UpdateZL_ZhengShen(ZhaoLu_DaoRuKaoShengModel model);
    }
}
